package pe.edu.ucv.daos;

import java.util.Date;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import pe.edu.ucv.entidades.Laboratorio;

/**
 *
 * @author Wilfredo Atoche
 */
@Stateless
@LocalBean
public class LaboratorioDAO {

    @PersistenceContext EntityManager em;
    public void crear(Laboratorio laboratorio){
        em.persist(laboratorio);
    }
    public void actualizar(Laboratorio laboratorio){
        em.merge(laboratorio);
    }
    public void borrar(Integer id){        
        Laboratorio laboratorio = em.find(Laboratorio.class, id);
        em.remove(laboratorio);
    }
    public List<Laboratorio> listarTodos(){
        return em.createNamedQuery("Laboratorio.findAll",Laboratorio.class).getResultList();
    }
    public List<Laboratorio> listarByDescripcion(String descripcion){
        return em.createNamedQuery("Laboratorio.findByDescripcion",Laboratorio.class)
                .setParameter("descripcion", "%" + descripcion + "%")
                .getResultList();
    }
    public void guardar(Laboratorio laboratorio){
        if(laboratorio.getId()==null){
            laboratorio.setFechaRegistro(new Date());
            crear(laboratorio);
        }else{
            actualizar(laboratorio);
        }
    }
}
